package br.gov.mi.corporativo.dominio.boundary.comum.pessoafisicaescolaridade;

import java.util.Date;
import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import br.gov.mi.corporativo.dominio.entidade.comum.PessoaFisicaEscolaridade;


@Path("pessoafisicaescolaridade")
public class PessoaFisicaEscolaridadeRestAdapter extends SpringBeanAutowiringSupport {
	
	@Autowired
	private PessoaFisicaEscolaridadeEndPoint service;
	
	@GET
	@Produces({MediaType.APPLICATION_JSON})
	public Iterable<PessoaFisicaEscolaridade> recuperarTodos(){
		return service.recuperarTodos();
	}
	
	@GET
	@Path("id/{idPessoaFisicaEscolaridade}")
	@Produces({MediaType.APPLICATION_JSON})
	public PessoaFisicaEscolaridade recuperarPorIdPessoaFisicaEscolaridade(@PathParam("idPessoaFisicaEscolaridade")Long idPessoaFisicaEscolaridade){
		return service.recuperarPorIdPessoaFisicaEscolaridade(idPessoaFisicaEscolaridade);
	}

	@GET
	@Path("pessoa/{pessoaFisica}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<PessoaFisicaEscolaridade> recuperarPorPessoaFisica(@PathParam("pessoaFisica")Long pessoaFisica){
		return service.recuperarPorPessoaFisica(pessoaFisica);
	}
	
	@GET
	@Path("instituicao/{instituicaoEnsino}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<PessoaFisicaEscolaridade> recuperarPorInstituicaoEnsino(@PathParam("instituicaoEnsino")Long instituicaoEnsino){
		return service.recuperarPorInstituicaoEnsino(instituicaoEnsino);
	}
	
	@GET
	@Path("escolaridade/{tipoEscolaridade}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<PessoaFisicaEscolaridade> recuperarPorTipoEscolaridade(@PathParam("tipoEscolaridade")Long tipoEscolaridade){
		return service.recuperarPorTipoEscolaridade(tipoEscolaridade);
	}
	
	@GET
	@Path("dtinicio/{dtInicio}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<PessoaFisicaEscolaridade> recuperarPorDtInicio(@PathParam("dtInicio")Date dtInicio){
		return service.recuperarPorDtInicio(dtInicio);
	}
	
	@GET
	@Path("dtconclusao/{dtConclusao}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<PessoaFisicaEscolaridade> recuperarPorDtConclusao(@PathParam("dtConclusao")Date dtConclusao){
		return service.recuperarPorDtConclusao(dtConclusao);
	}
	
	
}
